package com.iplant.wms.service.po.pkg;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.iplant.base.po.BasePO;
import com.iplant.base.po.enums.DBSchemas;
import com.iplant.base.utils.annotation.po.DBBasePO;
import com.iplant.base.utils.annotation.condition.DBCondition;
import com.iplant.base.utils.annotation.field.DBField;
import com.iplant.base.utils.annotation.join.DBJoin;

import java.io.Serializable;



/**
 * 包装详情
 *
 * @author ShrisJava
 */
@DBBasePO(TableName = "mss_packageprop", CheckName = {"Code","RuleID,Name"},
        CodeAuto = true,CodePrefix = "BZSX-",
        Schemas = DBSchemas.WMS)
public class MSSPackageProp extends BasePO implements Serializable {
    private static final long serialVersionUID = 1L;

    @DBCondition
    @DBField
    public int RuleID = 0;


    /**
     * 包装模板代码
     */
    @DBCondition
    @DBJoin(name = "Code",tableName = "mss_packagerule", tableAsName = "r1",
            Schemas = DBSchemas.WMS,MainTableField ="RuleID")
    public String RuleCode = "";
    /**
     * 主单位 内包装 箱 栈板
     */
    @DBJoin(name = "Name",tableName = "mss_packagerule", tableAsName = "r1",
            Schemas = DBSchemas.WMS,MainTableField ="RuleID")
    public String RuleName = "";




    @DBCondition
    @DBField
    public int TypeID = 0;

    @DBField
    public double MaterialNumber = 0;



    /**
     * 材料实质 如钢质 纸质 PVC 塑料等
     */
    @DBField
    public String Essence = "";

    @DBField
    public int Packing = 0;

    @DBField
    public int InStockLabel = 0;

    @DBField
    public int ReplenishmentLabel = 0;

    @DBField
    public int OutStockLabel = 0;

    @DBField
    public int SerialNumber = 0;


    /**
     * 长度
     */
    @DBField
    public double ContentLength = 0;
    /**
     *
     */
    @DBField
    public double ContentWidth = 0;
    /**
     *
     */
    @DBField
    public double ContentHeight = 0;

    /**
     * 重量
     */
    @DBField
    public double Weight = 0;

    /**
     * 体积
     */
    @DBField
    public double Volume = 0;

    /**
     * 一层有多少个
     */
    @DBField
    public int HiNumber = 1;

    /**
     * 层数
     */
    @DBField
    public int TiNumber = 1;
    @DBField

    public double Length = 0;
    @DBField
    public double Width = 0;
    @DBField
    public double Height = 0;


    @JsonProperty("RuleID")
    public int getRuleID() {
        return RuleID;
    }

    public void setRuleID(int ruleID) {
        RuleID = ruleID;
    }

    @JsonProperty("RuleCode")
    public String getRuleCode() {
        return RuleCode;
    }

    public void setRuleCode(String ruleCode) {
        RuleCode = ruleCode;
    }

    @JsonProperty("RuleName")
    public String getRuleName() {
        return RuleName;
    }

    public void setRuleName(String ruleName) {
        RuleName = ruleName;
    }

    @JsonProperty("TypeID")
    public int getTypeID() {
        return TypeID;
    }

    public void setTypeID(int typeID) {
        TypeID = typeID;
    }


    @JsonProperty("MaterialNumber")
    public double getMaterialNumber() {
        return MaterialNumber;
    }

    public void setMaterialNumber(double materialNumber) {
        MaterialNumber = materialNumber;
    }


    @JsonProperty("Essence")
    public String getEssence() {
        return Essence;
    }

    public void setEssence(String essence) {
        Essence = essence;
    }

    @JsonProperty("Packing")
    public int getPacking() {
        return Packing;
    }

    public void setPacking(int packing) {
        Packing = packing;
    }

    @JsonProperty("InStockLabel")
    public int getInStockLabel() {
        return InStockLabel;
    }

    public void setInStockLabel(int inStockLabel) {
        InStockLabel = inStockLabel;
    }

    @JsonProperty("ReplenishmentLabel")
    public int getReplenishmentLabel() {
        return ReplenishmentLabel;
    }

    public void setReplenishmentLabel(int replenishmentLabel) {
        ReplenishmentLabel = replenishmentLabel;
    }

    @JsonProperty("OutStockLabel")
    public int getOutStockLabel() {
        return OutStockLabel;
    }

    public void setOutStockLabel(int outStockLabel) {
        OutStockLabel = outStockLabel;
    }

    @JsonProperty("SerialNumber")
    public int getSerialNumber() {
        return SerialNumber;
    }

    public void setSerialNumber(int serialNumber) {
        SerialNumber = serialNumber;
    }

    @JsonProperty("ContentLength")
    public double getContentLength() {
        return ContentLength;
    }

    public void setContentLength(double contentLength) {
        ContentLength = contentLength;
    }

    @JsonProperty("ContentWidth")
    public double getContentWidth() {
        return ContentWidth;
    }

    public void setContentWidth(double contentWidth) {
        ContentWidth = contentWidth;
    }

    @JsonProperty("ContentHeight")
    public double getContentHeight() {
        return ContentHeight;
    }

    public void setContentHeight(double contentHeight) {
        ContentHeight = contentHeight;
    }

    @JsonProperty("Weight")
    public double getWeight() {
        return Weight;
    }

    public void setWeight(double weight) {
        Weight = weight;
    }

    @JsonProperty("Volume")
    public double getVolume() {
        return Volume;
    }

    public void setVolume(double volume) {
        Volume = volume;
    }

    @JsonProperty("HiNumber")
    public int getHiNumber() {
        return HiNumber;
    }

    public void setHiNumber(int hiNumber) {
        HiNumber = hiNumber;
    }

    @JsonProperty("TiNumber")
    public int getTiNumber() {
        return TiNumber;
    }

    public void setTiNumber(int tiNumber) {
        TiNumber = tiNumber;
    }

    @JsonProperty("Length")
    public double getLength() {
        return Length;
    }

    public void setLength(double length) {
        Length = length;
    }

    @JsonProperty("Width")
    public double getWidth() {
        return Width;
    }

    public void setWidth(double width) {
        Width = width;
    }

    @JsonProperty("Height")
    public double getHeight() {
        return Height;
    }

    public void setHeight(double height) {
        Height = height;
    }


}
